1. Field of the Invention
The present invention relates to a remote start system including a communication terminal capable of switching multiple program execution domains, and a remote start server instructing the communication terminal to start a start target program via a network. The present invention also relates to the remote start server and the communication terminal that are used in the remote start system.
2. Description of the Related Art
With the improvement of the performance and capabilities of mobile terminals such as cellular phones and PDAs, the importance of data assets to be handled on the mobile terminals is increasing. In a business system used in cooperation with mobile terminals, for example, highly important/confidential data such as personal information on clients or the like are handled on the mobile terminals. In the meantime, there always exists a risk of data leakage to a third party who has obtained a mobile terminal in an unauthorized manner because of a loss/theft of the mobile phone.
Due to such a background, a demand for remotely managing, in real time, data stored in mobile terminals has been increasing. In order to meet such a demand, proposed are a method for remotely managing a mobile terminal via a network (refer to U.S. Pat. No. 6,970,917) and a method for transmitting a remote management command by utilizing a short message service message (SMS message) (International Publication No. WO 03/055248 pamphlet).
In addition, in Open Mobile Alliance (OMA), which is a standards body for mobile-related technologies, proposed is a method for establishing a terminal management session between a terminal management server and a terminal management client by notifying a mobile terminal of a start message for requesting the starting of the terminal management client (refer to non patent document: OMA Device Management Notification Initiation Session OMA-TS-DM-Notification V1—2-20050607-C).
Specifically, as shown in FIG. 1, a terminal management sew 100 stores a DM data notification element in a wireless application protocol (WAP) Push message. An SMS server 200 stores the WAP Push message in an SMS message, and then transmits the SMS message to a mobile terminal 100.
In the message header of the aforementioned WAP Push message, a program identifier for identifying a start target program, that is, a terminal management client 401, is stored in order to distinguish the WAP Push message from other messages (such as an E-mail or a start message for a different program).
A mobile terminal 400 receives the SMS message via a NW 300. An SMS message processor 402 of the mobile terminal 400 extracts the WAP Push message stored in the SMS message.
A program starting unit 403 starts the terminal management client 401 in accordance with the program identifier stored in the message header of the WAP Push message. The terminal management client 401 starts communications with the terminal management server 100 in cooperation with a communication protocol processor 404.
On the other hand, a terminal capable of switching multiple program execution domains is known. A “program execution domain” means a program execution environment appropriate to an attribution (real-time executability, reliability, administrator or the like) of the program to be executed by the terminal.
As the terminal capable of using multiple program execution domains, there exist a terminal capable of using multiple program execution domains by switching multiple OSes (refer to US Patent Application Publication No. 200410205755) and a terminal provided with a CPU capable of switching two system states including a secure state and a non-secure state (refer to US Patent Application Publication No. 2004/0153672).
By allowing multiple program execution domains to be switched from one to another, a single terminal can be used in a different manner appropriate to the usage. The single terminal thus can be used as if multiple terminals are used.
There is an application, for example, in which a real-time OS (such as an RTOS) for executing a program that requires strict real-time control and a general purpose OS (Linux or Windows (registered trademarks), for example) are simultaneously executed. In addition, since programs each having different reliability are executed separately, Trusted OS and Untrusted OS can be simultaneously executed.